mbox(5) | File Formats Manual | mbox(5) |
NAZWA¶
mbox - plik zawierający wiadomości pocztowe
WPROWADZENIE¶
Uwaga! To tłumaczenie może być nieaktualne!
Najpopularniejszym formatem przechowywania wiadomości pocztowych jest format mbox. mbox jest pojedynczym plikiem zawierającym zero lub więcej listów.
FORMAT WIADOMOŚCI¶
List zakodowany w formacie mbox zaczyna się od linii From_, po której występuje ciąg linii innych niż From_ a kończy pustą linią. Linia From_ oznacza dowolną linię zaczynającą się znakami F, r, o, m, spacja:
From god@heaven.af.mil Sat Jan 3 01:05:34 1996
Return-Path: <god@heaven.af.mil>
Delivered-To: djb@silverton.berkeley.edu
Date: 3 Jan 1996 01:05:34 -0000
From: God <god@heaven.af.mil>
To: djb@silverton.berkeley.edu (D. J. Bernstein)
How's that mail system project coming along?
Ostatnia linijka jest całkiem pusta (bez spacji czy tabulacji). Zauważ, że puste linie mogą się też pojawić w dowolnym innym miejscu listu.
Linia From_ zawsze ma postać From nadkopert data dalsze_info. nadkopert jest jednym wyrazem, bez spacji czy tabulacji. Jest to zwykle nadawca z koperty (envelope sender) listu. data jest datą dostarczenia listu. Zawiera zawsze dokładnie 24 znaki w formacie asctime. dalsze_info jest opcjonalne i może zawierać dowolne informacje.
Pomiędzy linią From_ a pustą linią jest wiadomość w formacie RFC 822 , jak to opisano w qmail-header(5), podlegającą cytowaniu >From, jak opisano poniżej.
JAK LIST JEST DOSTARCZANY¶
Oto, w jaki sposób program dopisuje list do pliku mbox.
Najpierw tworzy linię From_ z danym nadawcą kopertowym listu i bieżącą datą. Jeśli nadawca kopertowy jest pusty (tzn. jeśli jest to poczta odbita), to zamiast tego program używa nazwy MAILER-DAEMON. Jeśli nazwa nadawcy kopertowego zawiera spacje, tabulacje lub znaki nowej linii, to są one zamieniane na myślniki.
Następnie program kopiuje wiadomość, do każdej linii stosując cytowanie >From . Takie postępowanie zapewnia, iż powstałe linie nie będą liniami From_: program poprzedza znakiem większości > wszystkie linie From_, >From_, >>From_, >>>From_, itd.
Na koniec do wiadomości dopisywana jest pusta linia. Jeśli ostatnia linia była linią częściową [tj. nie zakończoną znakiem nowej linii - tłum.], to zapisywane są dwa znaki nowej linii. W przeciwnym razie - jeden.
JAK LIST JEST CZYTANY¶
Czytnik przegląda plik mbox szukając linii From_. Każda taka linia oznacza początek wiadomości. Czytnik nie powinien próbować wykorzystywać tego, że każda linia From_ (poza początkiem pliku) jest poprzedzana linią pustą.
Po znalezieniu listu, czytnik wydziela z linii From_ nazwę nadawcy kopertowego (może być uszkodzona) i datę dostarczenia. Następnie czyta aż do następnej linii From_ lub do końca pliku, zależy co wystąpi wcześniej. Odcina ostatnią pustą linię i usuwa cytowania z linii >From_, >>From_ i tak dalej. Wynikiem jest wiadomość zgodna z RFC 822.
POPULARNE ODMIANY MBOX¶
Istnieje wiele odmian formatu mbox. Wariant opisany powyżej jest formatem mboxrd, spopularyzowanym przez Rahula Dhesi w czerwcu 1995.
Oryginalny format mboxo cytuje tylko linie From_, nie >From_. W rezultacie nie sposób powiedzieć, czy
From: djb@silverton.berkeley.edu (D. J. Bernstein)
To: god@heaven.af.mil
>From now through August I'll be doing beta testing.
Thanks for your interest.
było cytowane w oryginalnym liście. Czytnik mboxrd zawsze usunie cytowanie.
Format mboxcl przypomina mboxo, ale zawiera pole Content-Length z liczbą bajtów wiadomości. Format mboxcl2 jest taki jak mboxcl, ale nie ma żadnego cytowania >From. Te formaty są stosowane przez programy przesyłające pocztę w SVR4. mboxcl2 nie może być bezpiecznie czytane przez czytniki mboxrd.
NIE SKONKRETYZOWANE SZCZEGÓŁY¶
Istnieje wiele mechanizmów blokowania plików mbox. qmail-local zawsze używa flock na systemach, które go mają, w przeciwnym razie lockf.
Data dostarczenia w linii From_ nie podaje strefy czasowej. qmail-local zawsze tworzy datę dostarczenia w GMT, dzięki czemu pliki mbox można bezpiecznie przenosić z jednej strefy czasowej do innej.
Jeśli mtime [czas modyfikacji] niepustego pliku mbox jest większe niż atime [czas dostępu], to plik zawiera nowe listy. Jeśli mtime jest większe niż atime, to nowa poczta została przeczytana. Jeżeli mtime jest równe atime, nie da się w żaden sposób stwierdzić czy w pliku są nowe wiadomości, gdyż uruchomienie qmail-local zabiera dużo mniej niż sekundę. Jednym z rozwiązań jest sztuczne nadawanie przez czytnik czasowi atime wartości mtime plus 1. Wówczas plik zawiera nowe listy wtedy i tylko wtedy, gdy atime jest mniejsze bądź równe mtime.
Niektóre czytniki umieszczają w każdej wiadomości pole Status, wskazujące, które listy zostały już przeczytane.
ZOBACZ TAKŻE¶
maildir(5), qmail-header(5), qmail-local(8)
INFORMACJE O TŁUMACZENIU¶
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
- man --locale=C 5 mbox
Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.